﻿using CrawlerCore.MinPrice;
using CrawlerCore.XmlData;
using CrawlerCore.XmlDataForeign;
using CrawlerCore.XmlDataTemp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;

namespace CrawlerService
{
    [ServiceContract]
    public interface ICrawler
    {

        [OperationContract]
        Root CrawlerVietNamAirlines(int Adults, string ArrivalCode, int Children, DateTime DepartTime, string DepartureCode, int Inf,
            bool IsRoundTrip, DateTime ReturnTime);
        [OperationContract]
        RootForeign CrawlerAbacus(int Adults, string ArrivalCode, int Children, DateTime DepartTime, string DepartureCode, int Inf,
            bool IsRoundTrip, DateTime ReturnTime);
        [OperationContract]
        Root CrawlerVietJetAir(int Adults, string ArrivalCode, int Children, DateTime DepartTime, string DepartureCode, int Inf,
            bool IsRoundTrip, DateTime ReturnTime);
        [OperationContract]
        Root CrawlerJetstar(int Adults, string ArrivalCode, int Children, DateTime DepartTime, string DepartureCode, int Inf,
            bool IsRoundTrip, DateTime ReturnTime);
        [OperationContract]
        RootForeign CrawlerTigerair(int Adults, string ArrivalCode, int Children, DateTime DepartTime, string DepartureCode, int Inf,
            bool IsRoundTrip, DateTime ReturnTime);
        [OperationContract]
        ///<summary>
        ///lay gia re nhat tu trang VietJetAir
        ///</sumary>
        RootMinPrice GetPriceInFareVietJetAir(int Adults, string ArrivalCode, int Children, DateTime DepartTime, string DepartureCode, int Inf,
            bool IsRoundTrip, DateTime ReturnTime);
        [OperationContract]
        ///<summary>
        ///lay gia re nhat tu trang Jetstar
        ///</sumary>
        RootMinPrice GetPriceInFareJetstar(int Adults, string ArrivalCode, int Children, DateTime DepartTime, string DepartureCode, int Inf,
            bool IsRoundTrip, DateTime ReturnTime);
        [OperationContract]
        ///<summary>
        ///lay gia re nhat tu trang VietNamAirlines
        ///</sumary>
        RootMinPrice GetPriceInFareVietNamAirlines(int Adults, string ArrivalCode, int Children, DateTime DepartTime, string DepartureCode, int Inf,
            bool IsRoundTrip, DateTime ReturnTime);
        [OperationContract]
        RootForeign CrawlerVietJetAirForeign(int Adults, string ArrivalCode, int Children, DateTime DepartTime, string DepartureCode, int Inf,
            bool IsRoundTrip, DateTime ReturnTime);
        [OperationContract]
        RootForeign CrawlerAirAsia(int Adults, string ArrivalCode, int Children, DateTime DepartTime, string DepartureCode, int Inf,
            bool IsRoundTrip, DateTime ReturnTime);
    }
}
